Frances Elizabeth "Fran" Allen | |
---|---|
Born | August 4, 1932 Upstate New York, United States |
Fields | computer science |
Institutions | IBM |
Alma mater |
State University of New York at Albany, |
Known for | high-performance computing, parallel computing, compiler organization, optimization |
Notable awards | Turing Award |
Frances Elizabeth "Fran" Allen (born August 4, 1932) is an American computer scientist and pioneer in the field of optimizing compilers. Her achievements include seminal work in compilers, code optimization, and parallelization. She also had a role in intelligence work on programming languages and security codes for the National Security Agency.[1][2]
Allen was the first female IBM Fellow and in 2006 became the first woman to win the Turing Award.[3]
Contents |
Allen grew up on a farm in upstate New York and graduated from The New York State College for Teachers (now State University of New York at Albany) with a B.Sc. degree in mathematics in 1954.[4] She earned an M.Sc. degree in mathematics at the University of Michigan in 1957 and began teaching school in Peru, New York.[5] Deeply in debt, she joined IBM on July 15, 1957 and planned to stay only until her school loans were paid, but ended up staying for her entire 45-year career.
Fran Allen's work has had an enormous impact on compiler research and practice. Both alone and in joint work with John Cocke, she introduced many of the abstractions, algorithms, and implementations that laid the groundwork for automatic program optimization technology. Allen's 1966 paper, "Program Optimization," laid the conceptual basis for systematic analysis and transformation of computer programs. This paper introduced the use of graph-theoretic structures to encode program content in order to automatically and efficiently derive relationships and identify opportunities for optimization. Her 1970 papers, "Control Flow Analysis" and "A Basis for Program Optimization" established "intervals" as the context for efficient and effective data flow analysis and optimization. Her 1971 paper with Cocke, "A Catalog of Optimizing Transformations," provided the first description and systematization of optimizing transformations. Her 1973 and 1974 papers on interprocedural data flow analysis extended the analysis to whole programs. Her 1976 paper with Cocke describes one of the two main analysis strategies used in optimizing compilers today. Allen developed and implemented her methods as part of compilers for the IBM STRETCH-HARVEST and the experimental Advanced Computing System. This work established the feasibility and structure of modern machine- and language-independent optimizers. She went on to establish and lead the PTRAN project on the automatic parallel execution of FORTRAN programs. Her PTRAN team developed new parallelism detection schemes and created the concept of the program dependence graph, the primary structuring method used by most parallelizing compilers.—Association For Computing Machinery (ACM), Citation for the A.M. Turing Award 2006[1]
Allen became the first female IBM Fellow in 1989. In 2007 the IBM Ph.D. Fellowship Award was created in her honor.
Allen is a fellow of the IEEE, the Association for Computing Machinery (ACM) and the Computer History Museum. She is currently on the Computer Science and Telecommunications Board, the Computer Research Associates (CRA) board and National Science Foundation's CISE Advisory Board. She is a member of the National Academy of Engineering and the American Philosophical Society. She was elected a Fellow of the American Academy of Arts and Sciences in 1994.[6]
In 1997, Allen was inducted into the WITI Hall of Fame.[7] She retired from IBM in 2002 and won the Augusta Ada Lovelace Award that year from the Association for Women in Computing.
In 2007 Allen was recognized for her work in high performance computing when she received the A.M. Turing Award for 2006.[8] She became the first woman recipient in the forty year history of the award which is considered the equivalent of the Nobel Prize for computing and is given by the Association for Computing Machinery. She was awarded an honorary doctor in science degree at the winter commencement at SUNY University at Albany.[9][10][11][12][13] In interviews following the award she hoped it would give more "opportunities for women in science, computing and engineering".[14] In 2009 she was awarded an honorary doctor of science degree from McGill university for "pioneering contributions to the theory and practice of optimizing compiler techniques that laid the foundation for modern optimizing compilers and automatic parallel execution". In her lecture presented to the ACM, Allen describes her work.[15]